/*
 * MaximalShiftQuickSort.h
 *
 *  Created on: 05-09-2013
 *      Author: Krzychu
 */

#ifndef MAXIMALSHIFTQUICKSORT_H_
#define MAXIMALSHIFTQUICKSORT_H_

#include "../Structures/PatternStructure.h"

class MaximalShiftQuickSort
{
public:
	MaximalShiftQuickSort();
	virtual ~MaximalShiftQuickSort();
	static void sort(patStruct* data, int r, int* minShift);
private:
	static void sort(patStruct* data, int l, int r);
	static int partition(patStruct* data, int l, int r);
};

#endif /* MAXIMALSHIFTQUICKSORT_H_ */
